<?php
require_once 'AuthController.php';
require_once 'CKEDITOR.php';
class SysPages extends CI_Controller {
	
	function SysPages() {
		parent::__construct();
		$this->load->model('be/syspage_model','model');
		$this->load->library ( 'form_validation' );
		$this->load->helper ( array ('form', 'url' ) );
		$this->load->helper ( 'ckeditor' );
	}	
	
	function index() {
		$this->list_all();
	}
	
	
	function list_all() {
		$auth = new AuthController();
		if($auth->can('view', 'syspage')) {
			$pages = $this->model->get();
			$data['pages'] = $pages;
			
			$data['page_title'] = "Trang thông tin hệ thống";
			$data['main_content'] = 'be/sys_pages/list';
			$this->load->view('be/includes/template', $data);
		}else {
			$auth->denied();
		}
	}
		
	function delete() {
		$auth = new AuthController();
		if($auth->can('delete', 'syspage')) {
			$ids = $this->input->post('selected');
			foreach ($ids as $id){
				$this->model->delete($id);
			}
			redirect(site_url('syspages'));
		}else {
			$auth->denied();
		}
	}
	
	function detail($id) {
		$auth = new AuthController();
		if($auth->can('view', 'syspage')) {
			$pages = $this->model->get($id);
			$data['pages'] = $pages;
			
			$data['page_title'] = "Trang thông tin hệ thống";
			$data['main_content'] = 'be/sys_pages/detail';
			$this->load->view('be/includes/template', $data);
		}else {
			$auth->denied();
		}
	}
	
	
	function add() {
		$auth = new AuthController();
		//echo '<p> lol => '. $auth->can('add', 'syspage');
		if($auth->can('add', 'syspage')) {
			$this->form_validation->set_rules ( 'pagename','Tên trang','required');
			$this->form_validation->set_rules ( 'content', 'Tên tài khoản');
			
			if ($this->form_validation->run () == FALSE) {
				$data ['page_title'] = 'Thêm mới trang';
				$data['editor'] = CKEDITOR::createEditor('editor');
				$data ['main_content'] = 'be/sys_pages/add';
				$this->load->view ( 'be/includes/template', $data );
			} 
			else {
				$data ['name'] = $this->input->post ( 'pagename' );
				$data ['content'] = $this->input->post ( 'content' );
				$data ['status'] = $this->input->post ( 'status' );
				$data ['type'] = $this->input->post ( 'type' );
				if (! $this->model->add ( $data )) {
					$data ['page_title'] = 'Có lỗi xảy ra';
					$mess_detail = '<p>Hãy kiểm tra lại thông tin bạn đã điền vào form!</p>';
					$mess_detail .= '<p><a href="' . base_url () . 'index.php/syspages/add"> Làm lại</a> hoặc <a href="' . base_url () . 'index.php/syspages">Trở lại trang danh sách</a></p>';
					$data ['message_detail'] = $mess_detail;
				} else {
					$data ['page_title'] = 'Thành công';
					$mess_detail = '<p>Thêm mới trang thành công!</p>';
					$mess_detail .= '<p><a href="' . base_url () . 'index.php/syspages/add">Tiếp tục</a> hoặc <a href="' . base_url () . 'index.php/syspages">Trở lại trang danh sách</a>';
					$data ['message_detail'] = $mess_detail;
				}
				$data ['main_content'] = 'be/message';
				$this->load->view ( 'be/includes/template', $data );
			}
		}else {
			$data ['page_title'] = 'Từ chối!';
			$mess_detail = '<p>Bạn không có quyền truy cập trang này!</p><p>Hãy liên hệ với người quản trị.';
			$data ['message_detail'] = $mess_detail;
			$data['main_content'] = 'be/message';
			$this->load->view('be/includes/template', $data);
		}
	}
	
	function update($id) {		
		$auth = new AuthController();
		if($auth->can('update', 'syspage')) {
			$page = $this->model->get($id);		
			$data['id'] = $id;
			$data ['name'] = $page->name;
			$data ['content'] = $page->content;
			$data ['status'] = $page->status;
			$data ['type'] = $page->type;
					
			$this->form_validation->set_rules ( 'pagename', 'Tên trang' );
			
			if ($this->form_validation->run () == FALSE) {
				$data ['page_title'] = 'Cập nhật thông tin khách hàng';
				$data ['main_content'] = 'be/sys_pages/update';
				$data['editor'] = CKEDITOR::createEditor('editor');
				$this->load->view ( 'be/includes/template', $data );
			} else {
				$data['name'] = $this->input->post ( 'pagename' );
				$data ['content'] = $this->input->post ( 'content' );
				$data ['status'] = $this->input->post ( 'status' );
				$data ['type'] = $this->input->post ( 'type' );
									
				if (! $this->model->update ($id, $data )) {
					$data ['page_title'] = 'Có lỗi xảy ra';
					$mess_detail = '<p>Hãy kiểm tra lại thông tin bạn đã điền vào form!</p>';
					$mess_detail .= '<p><a href="' . base_url () . 'index.php/syspages/update"> Làm lại</a> hoặc <a href="' . base_url () . 'index.php/syspages">Trở lại trang danh sách</a></p>';
					$data ['message_detail'] = $mess_detail;
				} else {
					$data ['page_title'] = 'Thành công';
					$mess_detail = '<p>Cập nhật thành công!</p>';
					$mess_detail .= '<p><a href="' . base_url () . 'index.php/syspages/update">Tiếp tục</a> hoặc <a href="' . base_url () . 'index.php/syspages">Trở lại trang danh sách</a>';
					$data ['message_detail'] = $mess_detail;
				}
				$data ['main_content'] = 'be/message';
				$this->load->view ( 'be/includes/template', $data );
			}
		}else {
			$data ['page_title'] = 'Từ chối!';
			$mess_detail = '<p>Bạn không có quyền truy cập trang này!</p><p>Hãy liên hệ với người quản trị.';
			$data ['message_detail'] = $mess_detail;
			$data['main_content'] = 'be/message';
			$this->load->view('be/includes/template', $data);
		}
	}
}